38 research outputs found

    Runtime-assisted optimizations in the on-chip memory hierarchy

    Get PDF
    Following Moore's Law, the number of transistors on chip has been increasing exponentially, which has led to the increasing complexity of modern processors. As a result, the efficient programming of such systems has become more difficult. Many programming models have been developed to answer this issue. Of particular interest are task-based programming models that employ simple annotations to define parallel work in an application. The information available at the level of the runtime systems associated with these programming models offers great potential for improving hardware design. Moreover, due to technological limitations, Moore's Law is predicted to eventually come to an end, so novel paradigms are necessary to maintain the current performance improvement trends. The main goal of this thesis is to exploit the knowledge about a parallel application available at the runtime system level to improve the design of the on-chip memory hierarchy. The coupling of the runtime system and the microprocessor enables a better hardware design without hurting the programmability. The first contribution is a set of insertion policies for shared last-level caches that exploit information about tasks and task data dependencies. The intuition behind this proposal revolves around the observation that parallel threads exhibit different memory access patterns. Even within the same thread, accesses to different variables often follow distinct patterns. The proposed policies insert cache lines into different logical positions depending on the dependency type and task type to which the corresponding memory request belongs. The second proposal optimizes the execution of reductions, defined as a programming pattern that combines input data to form the resulting reduction variable. This is achieved with a runtime-assisted technique for performing reductions in the processor's cache hierarchy. The proposal's goal is to be a universally applicable solution regardless of the reduction variable type, size and access pattern. On the software level, the programming model is extended to let a programmer specify the reduction variables for tasks, as well as the desired cache level where a certain reduction will be performed. The source-to-source compiler and the runtime system are extended to translate and forward this information to the underlying hardware. On the hardware level, private and shared caches are equipped with functional units and the accompanying logic to perform reductions at the cache level. This design avoids unnecessary data movements to the core and back as the data is operated at the place where it resides. The third contribution is a runtime-assisted prioritization scheme for memory requests inside the on-chip memory hierarchy. The proposal is based on the notion of a critical path in the context of parallel codes and a known fact that accelerating critical tasks reduces the execution time of the whole application. In the context of this work, task criticality is observed at a level of a task type as it enables simple annotation by the programmer. The acceleration of critical tasks is achieved by the prioritization of corresponding memory requests in the microprocessor.Siguiendo la ley de Moore, el n煤mero de transistores en los chips ha crecido exponencialmente, lo que ha comportado una mayor complejidad en los procesadores modernos y, como resultado, de la dificultad de la programaci贸n eficiente de estos sistemas. Se han desarrollado muchos modelos de programaci贸n para resolver este problema; un ejemplo particular son los modelos de programaci贸n basados en tareas, que emplean anotaciones sencillas para definir los Trabajos paralelos de una aplicaci贸n. La informaci贸n de que disponen los sistemas en tiempo de ejecuci贸n (runtime systems) asociada con estos modelos de programaci贸n ofrece un enorme potencial para la mejora del dise帽o del hardware. Por otro lado, las limitaciones tecnol贸gicas hacen que la ley de Moore pueda dejar de cumplirse pr贸ximamente, por lo que se necesitan paradigmas nuevos para mantener las tendencias actuales de mejora de rendimiento. El objetivo principal de esta tesis es aprovechar el conocimiento de las aplicaciones paral路leles de que dispone el runtime system para mejorar el dise帽o de la jerarqu铆a de memoria del chip. El acoplamiento del runtime system junto con el microprocesador permite realizar mejores dise帽os hardware sin afectar Negativamente en la programabilidad de dichos sistemas. La primera contribuci贸n de esta tesis consiste en un conjunto de pol铆ticas de inserci贸n para las memorias cach茅 compartidas de 煤ltimo nivel que aprovecha la informaci贸n de las tareas y las dependencias de datos entre estas. La intuici贸n tras esta propuesta se basa en la observaci贸n de que los hilos de ejecuci贸n paralelos muestran distintos patrones de acceso a memoria e, incluso dentro del mismo hilo, los accesos a diferentes variables a menudo siguen patrones distintos. Las pol铆ticas que se proponen insertan l铆neas de cach茅 en posiciones l贸gicas diferentes en funci贸n de los tipos de dependencia y tarea a los que corresponde la petici贸n de memoria. La segunda propuesta optimiza la ejecuci贸n de las reducciones, que se definen como un patr贸n de programaci贸n que combina datos de entrada para conseguir la variable de reducci贸n como resultado. Esto se consigue mediante una t茅cnica asistida por el runtime system para la realizaci贸n de reducciones en la jerarqu铆a de la cach茅 del procesador, con el objetivo de ser una soluci贸n aplicable de forma universal sin depender del tipo de la variable de la reducci贸n, su tama帽o o el patr贸n de acceso. A nivel de software, el modelo de programaci贸n se extiende para que el programador especifique las variables de reducci贸n de las tareas, as铆 como el nivel de cach茅 escogido para que se realice una determinada reducci贸n. El compilador fuente a Fuente (compilador source-to-source) y el runtime ssytem se modifican para que traduzcan y pasen esta informaci贸n al hardware subyacente, evitando as铆 movimientos de datos innecesarios hacia y desde el n煤cleo del procesador, al realizarse la operaci贸n donde se encuentran los datos de la misma. La tercera contribuci贸n proporciona un esquema de priorizaci贸n asistido por el runtime system para peticiones de memoria dentro de la jerarqu铆a de memoria del chip. La propuesta se basa en la noci贸n de camino cr铆tico en el contexto de los c贸digos paralelos y en el hecho conocido de que acelerar tareas cr铆ticas reduce el tiempo de ejecuci贸n de la aplicaci贸n completa. En el contexto de este trabajo, la criticidad de las tareas se considera a nivel del tipo de tarea ya que permite que el programador las indique mediante anotaciones sencillas. La aceleraci贸n de las tareas cr铆ticas se consigue priorizando las correspondientes peticiones de memoria en el microprocesador.Seguint la llei de Moore, el nombre de transistors que contenen els xips ha patit un creixement exponencial, fet que ha provocat un augment de la complexitat dels processadors moderns i, per tant, de la dificultat de la programaci贸 eficient d鈥檃quests sistemes. Per intentar solucionar-ho, s鈥檋an desenvolupat diversos models de programaci贸; un exemple particular en s贸n els models basats en tasques, que fan servir anotacions senzilles per definir treballs paral路lels dins d鈥檜na aplicaci贸. La informaci贸 que hi ha al nivell dels sistemes en temps d鈥檈xecuci贸 (runtime systems) associada amb aquests models de programaci贸 ofereix un gran potencial a l鈥檋ora de millorar el disseny del maquinari. D鈥檃ltra banda, les limitacions tecnol貌giques fan que la llei de Moore pugui deixar de complir-se properament, per la qual cosa calen nous paradigmes per mantenir les tend猫ncies actuals en la millora de rendiment. L鈥檕bjectiu principal d鈥檃questa tesi 茅s aprofitar els coneixements que el runtime System t茅 d鈥檜na aplicaci贸 paral路lela per millorar el disseny de la jerarquia de mem貌ria dins el xip. L鈥檃coblament del runtime system i el microprocessador permet millorar el disseny del maquinari sense malmetre la programabilitat d鈥檃quests sistemes. La primera contribuci贸 d鈥檃questa tesi consisteix en un conjunt de pol铆tiques d鈥檌nserci贸 a les mem貌ries cau (cache memories) compartides d鈥櫭簂tim nivell que aprofita informaci贸 sobre tasques i les depend猫ncies de dades entre aquestes. La intu茂ci贸 que hi ha al darrere d鈥檃questa proposta es basa en el fet que els fils d鈥檈xecuci贸 paral路lels mostren diferents patrons d鈥檃cc茅s a la mem貌ria; fins i tot dins el mateix fil, els accessos a variables diferents sovint segueixen patrons diferents. Les pol铆tiques que s鈥檋i proposen insereixen l铆nies de la mem貌ria cau a diferents ubicacions l貌giques en funci贸 dels tipus de depend猫ncia i de tasca als quals correspon la petici贸 de mem貌ria. La segona proposta optimitza l鈥檈xecuci贸 de les reduccions, que es defineixen com un patr贸 de programaci贸 que combina dades d鈥檈ntrada per aconseguir la variable de reducci贸 com a resultat. Aix貌 s鈥檃consegueix mitjan莽ant una t猫cnica assistida pel runtime system per dur a terme reduccions en la jerarquia de la mem貌ria cau del processador, amb l鈥檕bjectiu que la proposta sigui aplicable de manera universal, sense dependre del tipus de la variable a la qual es realitza la reducci贸, la seva mida o el patr贸 d鈥檃cc茅s. A nivell de programari, es realitza una extensi贸 del model de programaci贸 per facilitar que el programador especifiqui les variables de les reduccions que usaran les tasques, aix铆 com el nivell de mem貌ria cau desitjat on s鈥檋auria de realitzar una certa reducci贸. El compilador font a font (compilador source-to-source) i el runtime system s鈥檃mplien per traduir i passar aquesta informaci贸 al maquinari subjacent. A nivell de maquinari, les mem貌ries cau privades i compartides s鈥檈quipen amb unitats funcionals i la l貌gica corresponent per poder dur a terme les reduccions a la pr貌pia mem貌ria cau, evitant aix铆 moviments de dades innecessaris entre el nucli del processador i la jerarquia de mem貌ria. La tercera contribuci贸 proporciona un esquema de prioritzaci贸 assistit pel runtime System per peticions de mem貌ria dins de la jerarquia de mem貌ria del xip. La proposta es basa en la noci贸 de cam铆 cr铆tic en el context dels codis paral路lels i en el fet conegut que l鈥檃cceleraci贸 de les tasques que formen part del cam铆 cr铆tic redueix el temps d鈥檈xecuci贸 de l鈥檃plicaci贸 sencera. En el context d鈥檃quest treball, la criticitat de les tasques s鈥檕bserva al nivell del seu tipus ja que permet que el programador les indiqui mitjan莽ant anotacions senzilles. L鈥檃cceleraci贸 de les tasques cr铆tiques s鈥檃consegueix prioritzant les corresponents peticions de mem貌ria dins el microprocessador

    Ispitivanje efikasnosti razli膷itih dodataka hrani za 啪ivotinje na proizvodne rezultate brojlera tretiranih T-2 toksinom

    Get PDF
    Experiment was conducted on 160 one-day-old broiler chicks 'Ross' proveniention during 21 day. This research was done with the aim to investigate performances of broilers exposed to the relatively small amount of T-2 toxin (2 mg/kg) and the possibility of prevention and/or alleviating its adverse effects by using various feed additives. Results showed negative consequences of T-2 toxin on body weight, weight gain, feed: gain ratio. All used feed additives in the concentration of 0.2% in feed: inorganic (Minazel-plus, Mz) and organic (Mycosorb, Ms) adsorbents, as well as mixed adsorbent (Mycofix-plus, Mf) mostly alleviated negative effects of T-2 toxin.Rezultati istra啪ivanja, koje je ura膽eno sa ciljem da se ispitaju proizvodni rezultati brojlera izlo啪enih relativno malim koli膷inama T-2 toksina (2 mg/kg), kao i i mogu膰nost spre膷avanja i/ili ubla啪avanje njegovih 拧tetnih posledica posledice upotrebom razli膷itih dodataka hrani za 啪ivotinje, pokazali su negativne posledice T-2 toksina na telesnu masu, prirast i konverziju hrane. Svi primenjeni dodaci u koncentraciji od 0,2% u hrani: neorganski (Minazel plus, MZ), organski (Mycosorb, MS), kao i me拧oviti adsorbens (Mycofix plus, MF) najve膰im delom su ubla啪ili negativne efekte T-2 toksina. Pa ipak, kao najefikasniji pokazao se me拧oviti adsorbent. Naime, o膷igledno je da tokom svog metabolizma BBSH 797, kao sastavni deo Mycofix-a, proizvodi enzime de-epoksidaze koji degradiraju trihotecene selektivnim uni拧tavanjem njihove toksi膷ne 12,13-epoksi grupe. Kako je poznato da je 12,13-epoksi prsten trihotecena odgovoran za njegovu toksi膷nost, dodavanje specifi膷nih enzima (de-epoksidaza) posledi膷no dovodi i do zna膷ajnog smanjenja toksi膷nosti. Na ovaj na膷in je me拧oviti adsorbent najvi拧e ubla啪io 拧tetno dejstvo T-2 toksina na proizvodne rezultate brojlera

    OPEN ARCHITECTURE PLATFORMS FOR THE CONTROL OF ROBOTIC SYSTEMS AND A PROPOSED REFERENCE ARCHITECTURE MODEL

    Get PDF
    This paper presents advantages of using open architecture for the real-time control of robot manipulators, parallel kinematics machine tools and other multi-axis machining systems. In order to increase their competitiveness, companies need to follow the global economy requirements. The constant incorporation of new technologies into existing controllers and reduction in the development time and costs are the main objectives. An open architecture control (OAC) concept appears as a solution to deal with these requirements. This article explains the rationale for the development of OAC systems, presents the major international activities which propose various approaches to OACs and a series of controllers that have been developed using this design philosophy at the Lola Institute

    OPEN ARCHITECTURE PLATFORMS FOR THE CONTROL OF ROBOTIC SYSTEMS AND A PROPOSED REFERENCE ARCHITECTURE MODEL

    Get PDF
    This paper presents advantages of using open architecture for the real-time control of robot manipulators, parallel kinematics machine tools and other multi-axis machining systems. In order to increase their competitiveness, companies need to follow the global economy requirements. The constant incorporation of new technologies into existing controllers and reduction in the development time and costs are the main objectives. An open architecture control (OAC) concept appears as a solution to deal with these requirements. This article explains the rationale for the development of OAC systems, presents the major international activities which propose various approaches to OACs and a series of controllers that have been developed using this design philosophy at the Lola Institute

    Procedure for definition of end-effector orientation in planar surfaces robot applications

    Get PDF
    Razvoj mo膰nih metoda za programiranje robota koje su ujedno i korisni膷ki prilago膽ene je tema zna膷ajnih istra啪ivanja u robotskoj zajednici. Radi olak拧avanja programiranja robota, pojavljuje se ideja o razvoju standardnih procedura za programiranje naj膷e拧膰e prisutnih robotskih zadataka, a koje se mogu univerzalno lako upotrebiti kao gotov deo (ready-made) korisni膷kog programa. Va啪na klasa aplikacija industrijskih robota podrazumeva kretanje hvata膷a (end-effector) u paralelnim ravnima. U ovom radu je prikazan razvoj procedure jezika za programiranje robota koja slu啪i za odre膽ivanje normale ravni objekta u odnosu na koordinatni sistem od zna膷aja, kao i osnova procedure za automatizovani postupak programiranja orijentacije hvata膷a u odnosu na ravan objekta. Ova procedura se mo啪e koristiti kao integralni deo task oriented metoda programiranja robota, a tako膽e kao i procedura eksplicitnog robotskog programskog jezika, i ilustrovana je kroz prakti膷ni primer na robotu Lola 15.Design of user-friendly and at the same time powerful robot programming methods is the subject of significant efforts undertaken by the international robotics community. For the purpose of facilitating robot programming, with regard to the most common present-day applications in industry, it would be useful to develop programming procedures for frequently used manipulator tasks which could be easily implemented and used as ready-made application software. Important class of industrial robot applications involves end-effector trajectories in planar surfaces. Development of robot programming language procedure intended for determination of object plane normal with respect to frame of interest, as well as programming of end-effector orientation is presented in this paper. This procedure can be used as integral part of task oriented robot programing applications as well as a procedure for explicit programming languages, and it is illustrated in practical example with the robot Lola 15

    Procedure for definition of end-effector orientation in planar surfaces robot applications

    Get PDF
    Razvoj mo膰nih metoda za programiranje robota koje su ujedno i korisni膷ki prilago膽ene je tema zna膷ajnih istra啪ivanja u robotskoj zajednici. Radi olak拧avanja programiranja robota, pojavljuje se ideja o razvoju standardnih procedura za programiranje naj膷e拧膰e prisutnih robotskih zadataka, a koje se mogu univerzalno lako upotrebiti kao gotov deo (ready-made) korisni膷kog programa. Va啪na klasa aplikacija industrijskih robota podrazumeva kretanje hvata膷a (end-effector) u paralelnim ravnima. U ovom radu je prikazan razvoj procedure jezika za programiranje robota koja slu啪i za odre膽ivanje normale ravni objekta u odnosu na koordinatni sistem od zna膷aja, kao i osnova procedure za automatizovani postupak programiranja orijentacije hvata膷a u odnosu na ravan objekta. Ova procedura se mo啪e koristiti kao integralni deo task oriented metoda programiranja robota, a tako膽e kao i procedura eksplicitnog robotskog programskog jezika, i ilustrovana je kroz prakti膷ni primer na robotu Lola 15.Design of user-friendly and at the same time powerful robot programming methods is the subject of significant efforts undertaken by the international robotics community. For the purpose of facilitating robot programming, with regard to the most common present-day applications in industry, it would be useful to develop programming procedures for frequently used manipulator tasks which could be easily implemented and used as ready-made application software. Important class of industrial robot applications involves end-effector trajectories in planar surfaces. Development of robot programming language procedure intended for determination of object plane normal with respect to frame of interest, as well as programming of end-effector orientation is presented in this paper. This procedure can be used as integral part of task oriented robot programing applications as well as a procedure for explicit programming languages, and it is illustrated in practical example with the robot Lola 15

    Configuring EMC2 for programming and simulation multi axis machine tools in python virtual environment

    Get PDF
    U radu 膰e biti predstavljen na膷in simulacije vi拧eosnih ma拧ina alatki u open-source softverskom paketu EMC2. Kroz primer vertikalnog strugarskog obradnog centra i 拧estoosnog robota, bi膰e prikazan na膷in integrisanja funkcija indirektne i direktne kinematike, na膷in modelovanja komponenti ma拧ine alatke u Python okru啪enju EMC2, njihovo povezivanje u celinu ma拧ine i animacija u funkciji NC programa obrade.The paper presents simulation procedure of multi axis machine tools in open-source software system EMC2. Simulation results are given on the example of vertical turning machining center and 6-dof robot, using Python programming language

    EMC software based CNC development concept for machine tools with specific configuration

    Get PDF
    Klju膷ne teme istra啪ivanja i razvoja u istra啪iva膷kim institucijama i vode膰im industrijama visokorazvijenih zemalja je razvoj kvalitetnih CNC upravlja膷kih sistema na osnovi open-source softverskih paketa. Ovaj pravac istra啪ivanja je vrlo aktuelan 拧irom sveta, pa i kod nas. U radu su predstvaljena istra啪ivanja iz sveta, dosada拧nji rezultati koji su ostvareni na ma拧inama kod nas i pravci budu膰ih istra啪ivanja u ovom domenu.The key issue in R&D in research instituties and leading indistries of developed countries is the development of CNC control systems based on open source softwares. This research lead is up todate world wide, as well as in our country. This paper presents wordwide research, results obtained on our machines as well as directions for futur research in this area.Tehni膷ki urednici: Prof. dr Petar B. Petrovi膰, Mr Mihajlo Popovi膰, Mr 沤ivana Jakovljevi

    Concept of 5-axes vertical turning machining center control using open architecture control system

    Get PDF
    Do pre desetak godina CNC kao specijalizovan ra膷unarski sistem je bio neprikosnoven industrijski ra膷unar za upravljanje ma拧inama alatkama. Otvorena PC arhitektura dizajnirana za industrijske aplikacije polako i vrlo temeljno potiskuje specijalizovane CNC sisteme sa tr啪i拧ta. Iako se veliki proizvo膽a膷i CNC sistema bore da odr啪e korak i ula啪u velika sredstva u razvoj, arhitektura i performanse, a posebno cena, prose膷nog industrijskog PC-a nema konkurencijy. To je razlog 拧to se sve vi拧e ljudi u svetu okre膰e razvoju softverski orijentisanih CNC sistema, za 拧ta se kao osnova koristi PC platforma i Linux operativni sistem sa real-time ekstenzijom. Dakle, PC kao osnova, odgovaraju膰e PC interfejs kartice i softverski orijentisani CNC 膷ine tri glavne celine upravlja膷ke jedinice otvorene arhitekture (OAC - Open architecture control), na svetskom tr啪i拧tu.Up to 10 years ago, CNC as specialized computer system was the only industrial computer for machine tools control. Open PC architecture designed for industrial applications easily and very thoroughly suppresses specialized CNC systems from market. Although huge manufacturers of CNC systems invest in development, architecture and performances, and especially price of average PC has no competition. This is the main reason that more and more people turns to development of software oriented CNC systems which, as a basis, use PC platform and Linux OS with real-time extension. Hence, PC as basis, corresponding PC interface cards and software oriented CNC make three main entities of open architecture control unit (OAC - Open architecture control) in world market.Glavni i odgovorni urednik: Prof.dr Ljubodrag Tanovi

    Development of the algorithms for smoothing of trajectories of a roll and pitch axis of a centrifuge motion simulator

    Get PDF
    Centrifuge motion simulator (CMS) is a training device used for simulation of high onset rates of accelerations and high sustained accelerations acting on a pilot during challenging flights of modern combat aircraft. The CMS device has three degrees of freedom. Training profiles in the CMS require achieving of desired linear profiles of G-load with variable programmed onset rates. The desired piecewise linear G-load profiles could lead to very demanding joint trajectories for which achievement very powerful motors would have to be in use. In order to lessen the motor load, to provide better tracking capabilities of controllers, and to avoid vibrational problems, while in the same time achieving desired acceleration profiles, trajectory shaping techniques have to be considered. In this paper, development of the algorithms for smoothing of motions of the CMS鈥檚 second (roll) and the third (pitch) joint is presented. Smoothing of the absolute value of the acceleration acting on a pilot is compared to smoothing of the CMS trajectories in joint space
    corecore